package com.zrrd.mybatisplusFirst.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.UUID;

/**
 * @author WanJl
 * @version 1.0
 * @title Teacher
 * @description
 * @create 2024/3/30
 */
@Data
@AllArgsConstructor//全参构造方法
@NoArgsConstructor//无参构造方法
@Accessors(chain = true)    //开启链式编程
//@TableName("teacher")//设置该实体类对应的数据库表名
public class Teacher {
    //为ID主键字段单独设置生成策略
    @TableId(type = IdType.AUTO)
    private Integer id;
    //mybatisplus默认：实体类的属性名如果是多个单词组成，那么属性名的驼峰法命名(tName)会自动映射成数据库中下划线命名的字段名(t_name)
    //@TableField(value = "t_name")
    @TableField("t_name")
    private String name;
    @TableField("t_age")
    private Integer age;
    @TableField("t_sex")
    private String sex;
    @TableField(exist = false)  //设置当前的属性在数据库中不存在。
    private Integer abc;
    private String username;
    @TableField(select = false) //设置该属性不参与查询
    private String password;

    @Version //设置版本号字段，设置乐观锁字段
    private Integer version;

    @TableLogic //设置当前的属性为逻辑删除字段，标记当前的记录是否被删除。
    private Integer deleted;
}

